$(function () {
  // 点击注册
  $('#link-login').on('click', function () {
    $(".login-box").hide().siblings('.reg-box').show()
  })
  // 点击去登陆
  $('#link-box').on('click', function () {
    $('.reg-box').hide().siblings('.login-box').show()
  })

  //点击监听注册事件
  $('#form_reg').on('submit', function (e) {
    //阻止默认提交
    e.preventDefault();
    var data = {
      username: $('.reg-box [name=username]').val().trim(),
      password: $('.reg-box [name=password]').val().trim()
    }
    // 发起post请求
    $.post('/api/reguser', data, function (res) {
      console.log(res);
      if (res.status !== 0) {
        return layer.msg(res.message)
      }
      layer.msg('注册成功，请登录')
      $('#link-box').click();
    })
  })


  //点击登录监听事件
  $('#form_login').on('submit', function (e) {
    // 阻止默认提交
    e.preventDefault();
    // 发起ajax请求
    $.ajax({
      method: 'POST',
      url: '/api/login',
      data: $(this).serialize(),
      success: function (res) {
        console.log(res);
        if (res.status !== 0) {
          layer.msg('登陆失败');
        }
        layer.msg('登陆成功');
        // 将登录成功得到的 token 字符串，保存到 localStorage 中
        localStorage.setItem('token', res.token)
        // 跳转到后台主页
        location.href = '/index.html'
      }
    })
  })


  //从layui获取form对象
  const form = layui.form;
  // 通过verify函数自定义效验规则
  form.verify({
    uname: function (value) {
      if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
        return '用户名不能有特殊字符';
      }
      if (/(^\_)|(\__)|(\_+$)/.test(value)) {
        return '用户名首尾不能出现下划线\'_\'';
      }
    },
    // 自定义一个pass效验规则
    pass: function (value) {
      if (!/^[a-zA-Z]/.test(value)) {
        return '密码开头必须是英文'
      }
      if (!/[\S]{5,12}/.test(value)) {
        return '密码必须6到12位，且不能出现空格'
      }
    },
    repass: function (value) {
      // 通过形参拿到的是确认密码框中的内容
      // 还需要拿到密码框中的内容
      // 然后进行一次等于的判断
      // 如果判断失败,则return一个提示消息即可
      var pwd = $('.reg-box [name=password]').val().trim();
      if (pwd !== value) {
        return '两次密码不一致'
      }
    }
  })
})